package controllers.gourp;

import hprose.HproseClinetService;

import java.util.HashMap;
import java.util.Map;

import utils.convert.Convert;
import utils.logs.LogsUtils;

import com.alibaba.fastjson.JSONObject;

import component.UserBis;
import constants.APIConstants;
import constants.Constants;
import controllers.common.filter.BaseFilter;

public class GourpAction extends BaseFilter {
	/**
	 * 组管理
	* @Title: index 
	* @Description: TODO(这里用一句话描述这个方法的作用) 
	* @param     设定文件 
	* @return void    返回类型 
	* @author chasel 641243343@qq.com   
	* @throws
	 */
	public static void index() {
		render();
	}
	/**
	 * 获取组列表
	* @Title: getGroupList 
	* @Description: TODO(这里用一句话描述这个方法的作用) 
	* @param     设定文件 
	* @return void    返回类型 
	* @author chasel 641243343@qq.com   
	* @throws
	 */
	public static void getGroupList(){
		Map<String, Object> map = new HashMap<String, Object>();
		Object[] arguments = new Object[] { map };
		map.put("customer_id", UserBis.currUser());
		String res = HproseClinetService.synCall(APIConstants.GMI_GETGROUPLIST, arguments,APIConstants.CUSTOMER_HOST, APIConstants.CUSTOMER_PORT);
		JSONObject json = JSONObject.parseObject(res);
		renderJSON(json);
	}
	/**
	 * 获取操作员列表
	* @Title: getOperatorList 
	* @Description: TODO(这里用一句话描述这个方法的作用) 
	* @param     设定文件 
	* @return void    返回类型 
	* @author chasel 641243343@qq.com   
	* @throws
	 */
	public static void getOperatorList(){
		Map<String, Object> map = new HashMap<String, Object>();
		Object[] arguments = new Object[] { map };
		map.put("customer_id", UserBis.currUser());
		map.put("roles", "U");
		map.put("isPage", Constants.DATAISPAGE_NO);
		String res = HproseClinetService.synCall(APIConstants.OMSI_GETOPERATOR, arguments,APIConstants.CUSTOMER_HOST, APIConstants.CUSTOMER_PORT);
		JSONObject json = JSONObject.parseObject(res);
		renderJSON(json);
	}
	/**
	 * 根据组ID查询操作员列表
	* @Title: getOperatorListByGourpId 
	* @Description: TODO(这里用一句话描述这个方法的作用) 
	* @param     设定文件 
	* @return void    返回类型 
	* @author chasel 641243343@qq.com   
	* @throws
	 */
	public static void getOperatorListByGourpId(){
		Map<String, Object> map = new HashMap<String, Object>();
		Object[] arguments = new Object[] { map };
		map.put("customer_id", UserBis.currUser());
		map.put("gourp_id", params.get("gourp_id"));
		String res = HproseClinetService.synCall(APIConstants.GMI_GETOPERATORGROUPREF, arguments,APIConstants.CUSTOMER_HOST, APIConstants.CUSTOMER_PORT);
		JSONObject json = JSONObject.parseObject(res);
		renderJSON(json);
	}
	/**
	 * 编辑操作员组关联
	* @Title: editGourpOperatorRef 
	* @Description: TODO(这里用一句话描述这个方法的作用) 
	* @param     设定文件 
	* @return void    返回类型 
	* @author chasel 641243343@qq.com   
	* @throws
	 */
	public static void editGourpOperatorRef(){
		Map<String, Object> map = new HashMap<String, Object>();
		Object[] arguments = new Object[] { map };
		map.put("customer_id", UserBis.currUser());
		map.put("gourp_id", params.get("gourp_id"));
		map.put("operator_ids", params.get("operator_ids"));
		LogsUtils.addLogs(Constants.LOG_TYPE_UPDATE,Convert.convertToInt(UserBis.currOperatorId(),-1), 1, "编辑操作员组关系执行","success", UserBis.currLoginAccount(), UserBis.currUserName(), UserBis.currUser());
		String res = HproseClinetService.synCall(APIConstants.GMI_EDITOPERATORGROUPREF, arguments,APIConstants.CUSTOMER_HOST, APIConstants.CUSTOMER_PORT);
		JSONObject json = JSONObject.parseObject(res);
		renderJSON(json);
	}
	
	/**
	 * 添加组
	 * @Title:        addGourp 
	 * @Description:  TODO(这里用一句话描述这个方法的作用) 
	 * @param:        @param gourp_name    
	 * @return:       void    
	 * @throws 
	 * @author        caofan
	 * @Date          2015年12月24日 上午11:43:06
	 */
	public static void addGourp(String gourp_name) {
		Map<String, Object> map = new HashMap<String, Object>();
		Object[] arguments = new Object[] { map };
		map.put("customer_id", UserBis.currUser());
		map.put("gourp_name", gourp_name);
		LogsUtils.addLogs(Constants.LOG_TYPE_ADD,Convert.convertToInt(UserBis.currOperatorId(),-1), 1, "添加操作员组执行","success", UserBis.currLoginAccount(), UserBis.currUserName(), UserBis.currUser());
		String res = HproseClinetService.synCall(APIConstants.GMI_ADDGROUP, arguments,APIConstants.CUSTOMER_HOST, APIConstants.CUSTOMER_PORT);
		JSONObject json = JSONObject.parseObject(res);
		renderJSON(json);
	}
	/**
	 * 编辑组
	 * @Title:        editGourp 
	 * @Description:  TODO(这里用一句话描述这个方法的作用) 
	 * @param:        @param gourp_name
	 * @param:        @param gourp_id    
	 * @return:       void    
	 * @throws 
	 * @author        caofan
	 * @Date          2015年12月24日 下午2:55:31
	 */
	public static void editGourp(String gourp_name,String gourp_id) {
		Map<String, Object> map = new HashMap<String, Object>();
		Object[] arguments = new Object[] { map };
		map.put("customer_id", UserBis.currUser());
		map.put("gourp_name", gourp_name);
		map.put("gourp_id", gourp_id);
		LogsUtils.addLogs(Constants.LOG_TYPE_UPDATE,Convert.convertToInt(UserBis.currOperatorId(),-1), 1, "修改操作员组执行","success", UserBis.currLoginAccount(), UserBis.currUserName(), UserBis.currUser());
		String res = HproseClinetService.synCall(APIConstants.GMI_EDITGROUP, arguments,APIConstants.CUSTOMER_HOST, APIConstants.CUSTOMER_PORT);
		JSONObject json = JSONObject.parseObject(res);
		renderJSON(json);
	}
	/**
	 * 删除
	 * @Title:        delGourp 
	 * @Description:  TODO(这里用一句话描述这个方法的作用) 
	 * @param:        @param gourp_id    
	 * @return:       void    
	 * @throws 
	 * @author        caofan
	 * @Date          2015年12月24日 下午2:55:37
	 */
	public static void delGourp(String gourp_id) {
		Map<String, Object> map = new HashMap<String, Object>();
		Object[] arguments = new Object[] { map };
		map.put("customer_id", UserBis.currUser());
		map.put("gourp_id", gourp_id);
		LogsUtils.addLogs(Constants.LOG_TYPE_DEL,Convert.convertToInt(UserBis.currOperatorId(),-1), 1, "删除操作员组执行","success", UserBis.currLoginAccount(), UserBis.currUserName(), UserBis.currUser());
		String res = HproseClinetService.synCall(APIConstants.GMI_DELGROUP, arguments,APIConstants.CUSTOMER_HOST, APIConstants.CUSTOMER_PORT);
		JSONObject json = JSONObject.parseObject(res);
		renderJSON(json);
	}
}
